package huanzhao.erp.mapper;

import huanzhao.erp.domain.entity.Position;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PositionMapper extends BaseMapper<Position> {
    /**
     * 检查员工是否在某一团队中
     *
     * @param staffId 员工id
     * @param teamId  团队id
     * @return boolean
     * 2024/6/12 下午4:32:41
     */
    boolean checkStaffInTeam(@Param("staffId") Long staffId, @Param("teamId") Long teamId);

    /**
     * 获取员工所有的归属团队
     *
     * @param staffId 员工id
     * @return List<Team>
     * 2024/6/13 下午5:23:54
     */
    List<Position> getStaffPositions(@Param("staffId") Long staffId);

    /**
     * 获取员工在团队中的职位
     *
     * @param staffId 员工id
     * @param teamId  团队id
     * @return Position
     * 2024/6/20 下午2:13:58
     */
    Position getStaffPosition(@Param("staffId") Long staffId, @Param("teamId") Long teamId);

    /**
     * 添加员工到团队
     *
     * @param position 员工职位
     *                 2024/6/12 下午7:35:23
     */
    void addStaffToTeam(Position position);

    /**
     * 删除员工的归属团队关系
     *
     * @param staffId 员工id
     * @param teamId  团队id
     * 2024/6/18 下午3:23:53
     */
    void removeStaffFromTeam(@Param("staffId") Long staffId, @Param("teamId") Long teamId);

    List<Long> getStaffBelongTeamIds(@Param("staffId") Long staffId);
}




